import request from './request'
import { BucketCDN } from '@/stores/constant'

/**
 * 返回如 users/[userid]/mylog/
 * @param userid 要插入其中的用户id，如果不传用当前用户id
 * @returns 返回链接字符串
 */
export const cosPath = (userid : string | undefined = undefined) =>
	`users/${userid}/mylog/`
// `users/${userid || User.id}/mylog/`

/**
 * 处理文件地址
 * 若是http开头，就转https然后直接用
 * 否则加上OOS地址 `${BucketCDN}${cosPath(userid)}${prefix}${file}`
 * @param file 可以传入单个字符串，或者字符串数组
 * @param prefix 一般是文件类型 如 img/
 * @returns 不改变log的源数据，只返回新的数组
 */
export const toFileUrl = <T extends string | string[]>(
	file : T,
	prefix : string = '',
	userid ?: string
) : T => {
	if (Array.isArray(file)) {
		return file.map(f => toFileUrl(f, prefix, userid)) as T
	} else {
		// 处理单个字符串的逻辑
		if (file.startsWith('http')) {
			return file.startsWith('http://')
				? file.replace('http://', 'https://') as T
				: file
		} else {
			return `${BucketCDN}${cosPath(userid)}${prefix}${file}` as T
		}

	}
}
